<html>
<body>

<h3>函数功能</h3>该函数是由应用程序定义的与函数EnumFontFamilies一起使用的回调函数，它接收用于描述与可用字体的数据。类型FONTENUMPROC定义了一个指向此回调函数的指针，EnumFontFamProc是应用程序定义的函数的名字的占位符。<br>
<h3>函数原型</h3>int CALLBACK EnumFontFamProc(ENUMLOGFONT FAR *lpelf, NEWTEXTMETRIC FAR *lpntm, int FontType, LPARAM lParam)；<br>
<h3>参数</h3>
lpelf：指向结构ENUMLOGFONT的指针，该结构包含字体的逻辑属性。该结构是局部定义的。<br>
lpntm：指向结构NEWTEXTMETRIC的指针，该结构包含TrueType字体的物理属性。如果该字体不是TrueType字体，此参数为指向结构TEXTMETRIC的指针。<br>
FontType：指定字体的类型，此参数可以是下列值的组合：<br>
DEVICE_FONTTYPE, RASTER_FONTTYPE, TRUETYPE_FONTTYPE。<br>
lParam：指向由函数EnumFontFamilies传来的应用程序定义的数据的指针。<br>
<h3>返回值</h3>要继续列举，返回值必须是非零值；要停止列举，返回值必须为0。<br>
备注：应用程序必须将此回调函数的地址传给EnumFontFamilies以将函数注册。<br>
RASTER_FONTTYPE, DEVICE_FONTTYPE和TRUETYPE_FONTTYPE等常数可用AND操作符连接起来决定字体的类型。如果RASTER_FONTTYPE位被设置，则该字体是一种光栅字体。如果TRUETYPE_FONTTYPE位被设置，该字体是一种TrueType字体。如果上述两位都未被设置，则该字体是一种向量字体。当一种设备（如激光打印机）支持下载TrueType字体或该字体是一种驻留设备的字体，则DEVICE_FONTTYPE位被设置，当设备是一种显示设备、点阵打印机或其他光栅设备，则该位为0。应用程序也可用DEVICE_FONTTYPE来区别图形设备接口（GDI）提供的光栅字体和设备提供的字体。GDI可以为GDI提供的光栅字体模拟粗体、斜体、下划线和删除线（strikeout）属性，但却不支持设备提供的字体。<br>
Windows CE：字体的物理属性总是保存在TEXTMETRIC结构中。<br>
Windows CE版本1.0不支持TrueType字体。在该版本中，参数FontType的值始终是RASTER_FONTTYPE。<br>
在Windows CE版本2.0，FontType可依赖于Windows CE平台取值为RASTER_FONTTYPE或TRUETYPE_FONTTYPE，任何给定的Windows CE平台只支持光栅字体和TrueType字体其中之一，字体类型（光栅或TrueType）是在系统设计时选择的，应用程序不能修改。<br>
</body>
</html>
